@@ -3,6 +3,16 @@ Revision history for Perl extension Test::Reporter.
For the complete changelog, visit:
http://github.com/dagolden/test-reporter/commits/master
+1.57 2010-03-26 00:13:18 EST5EDT
+
+ - Includes full 'perl -V' output, not just Config::mychanges
+
+ - Adds new 'X-Test-Reporter-Perl' header with Perl version
+ and optional "RCx" suffix to positively identify tests from
+ RC Perls
+
+ - Minimum perl version is now 5.006, matching the rest of the Perl toolchain
+
1.56 2010-03-14 23:26:00 EST5EDT
- Convert line endings during read() [Issue identified
@@ -15,6 +25,8 @@ http://github.com/dagolden/test-reporter/commits/master
- Regenerate _myconfig data during read() method
+ - Switched to Dist::Zilla for release management
+
1.54 Sun May 31 21:39:12 EDT 2009
- POD updates.
@@ -8,6 +8,7 @@ META.yml
Makefile.PL
README
bin/cpantest
+dist.ini
lib/Test/Reporter.pm
lib/Test/Reporter/Transport.pm
lib/Test/Reporter/Transport/File.pm
@@ -22,8 +23,4 @@ t/3-file-transport.t
t/4-net-smtp-transport.t
t/5-net-smtp-tls-transport.t
t/6-write-read-crlf.t
-xt/pod-coverage.t
-xt/pod.t
-xt/release/meta-yaml.t
-xt/release/pod-coverage.t
-xt/release/pod-syntax.t
\ No newline at end of file
+xt/release/meta-yaml.t
\ No newline at end of file
@@ -10,34 +10,39 @@ author:
build_requires: {}
configure_requires:
ExtUtils::MakeMaker: 6.11
-generated_by: 'Dist::Zilla version 1.100660'
+generated_by: 'Dist::Zilla version 1.100711'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: Test-Reporter
+no_index:
+ directory:
+ - t
+ - xt
+ - examples
provides:
Test::Reporter:
file: lib/Test/Reporter.pm
- version: 1.56
+ version: 1.57
Test::Reporter::Transport:
file: lib/Test/Reporter/Transport.pm
- version: 1.56
+ version: 1.57
Test::Reporter::Transport::File:
file: lib/Test/Reporter/Transport/File.pm
- version: 1.56
+ version: 1.57
Test::Reporter::Transport::HTTPGateway:
file: lib/Test/Reporter/Transport/HTTPGateway.pm
- version: 1.56
+ version: 1.57
Test::Reporter::Transport::Mail::Send:
file: lib/Test/Reporter/Transport/Mail/Send.pm
- version: 1.56
+ version: 1.57
Test::Reporter::Transport::Net::SMTP:
file: lib/Test/Reporter/Transport/Net/SMTP.pm
- version: 1.56
+ version: 1.57
Test::Reporter::Transport::Net::SMTP::TLS:
file: lib/Test/Reporter/Transport/Net/SMTP/TLS.pm
- version: 1.56
+ version: 1.57
requires:
Carp: 0
Cwd: 0
@@ -51,6 +56,7 @@ requires:
Time::Local: 0
base: 0
constant: 0
+ perl: 5.006
resources:
repository: http://github.com/dagolden/test-reporter
-version: 1.56
+version: 1.57
@@ -2,7 +2,7 @@
use strict;
use warnings;
-
+ BEGIN { require 5.006; }
use ExtUtils::MakeMaker 6.11;
@@ -23,7 +23,7 @@ my %WriteMakefileArgs = (
'EXE_FILES' => [
'bin/cpantest'
],
- 'VERSION' => '1.56',
+ 'VERSION' => '1.57',
'PREREQ_PM' => {
'base' => '0',
'Data::Dumper' => '0',
@@ -1,8 +1,8 @@
NAME
- Test::Reporter
+ Test::Reporter - sends test results to cpan-testers@perl.org
VERSION
- version 1.56
+ version 1.57
SYNOPSIS
use Test::Reporter;
@@ -39,9 +39,6 @@ DESCRIPTION
CPAN Testers project. Test::Reporter has wide support for various
perl5's and platforms.
-NAME
- Test::Reporter - sends test results to cpan-testers@perl.org
-
METHODS
* address
@@ -7,38 +7,24 @@
# This is free software; you can redistribute it and/or modify it under
# the same terms as the Perl 5 programming language system itself.
#
-
-# cpantest - sends test results to cpan-testers@perl.org
-#
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Adam J. Foxson.
-# Copyright (C) 2004, 2005 Richard Soderberg.
-# Copyright (C) 2002 Audrey Tang.
-# Copyright (C) 1999 Kurt Starsinic.
-# All rights reserved.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the same terms as Perl itself.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
+use 5.006;
use strict;
+use warnings;
+package main;
+our $VERSION = '1.57';
+# NAME: cpantest
+# ABSTRACT: Report test results of a package retrieved from CPAN
+
use Cwd;
use Getopt::Long;
use File::Temp;
use Test::Reporter;
use vars qw(
- $VERSION $Grade $Package $No_comment $Automatic $Comment_text $Comment_file
+ $Grade $Package $No_comment $Automatic $Comment_text $Comment_file
%Grades $CC $Report $Tempfile $Subject $Reporter $From $Dump $Perl_version
$Transport
);
-$VERSION = '1.56';
($Tempfile, $Report) = File::Temp::tempfile(UNLINK => 1);
$Reporter = Test::Reporter->new();
%Grades = (
@@ -282,11 +268,17 @@ sub log {
close(LOG);
}
-__END__
+
+
+=pod
=head1 NAME
-B<cpantest> - Report test results of a package retrieved from CPAN
+cpantest - Report test results of a package retrieved from CPAN
+
+=head1 VERSION
+
+version 1.57
=head1 DESCRIPTION
@@ -362,22 +354,22 @@ further information.
=head1 AUTHORS
-This version of the 'cpantest' script was adapted by Adam J. Foxson
-E<lt>F<afoxson@pobox.com>E<gt> for Test::Reporter, and is based on
-Audrey Tang's E<lt>cpan@audreyt.orgE<gt> adaptations for
-CPANPLUS, which is in turn based upon the original script by Kurt
-Starsinic E<lt>F<Kurt.Starsinic@isinet.com>E<gt> with various patches
-from the CPAN Testers E<lt>F<cpan-testers@perl.org>E<gt>.
+ Adam J. Foxson <afoxson@pobox.com>
+ David Golden <dagolden@cpan.org>
+ Kirrily "Skud" Robert <skud@cpan.org>
+ Ricardo Signes <rjbs@cpan.org>
+ Richard Soderberg <rsod@cpan.org>
+ Kurt Starsinic <Kurt.Starsinic@isinet.com>
-=head1 COPYRIGHT
+=head1 COPYRIGHT AND LICENSE
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Adam J. Foxson.
- Copyright (C) 2004, 2005 Richard Soderberg.
- Copyright (C) 2002 Audrey Tang.
- Copyright (C) 1999 Kurt Starsinic.
- All rights reserved.
+This software is copyright (c) 2010 by Authors and Contributors.
- This program is free software; you may redistribute it
- and/or modify it under the same terms as Perl itself.
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
=cut
+
+
+__END__
+
@@ -0,0 +1,80 @@
+name = Test-Reporter
+author = Adam J. Foxson <afoxson@pobox.com>
+author = David Golden <dagolden@cpan.org>
+author = Kirrily "Skud" Robert <skud@cpan.org>
+author = Ricardo Signes <rjbs@cpan.org>
+author = Richard Soderberg <rsod@cpan.org>
+author = Kurt Starsinic <Kurt.Starsinic@isinet.com>
+license = Perl_5
+copyright_holder = Authors and Contributors
+
+[BumpVersionFromGit]
+version_regexp = ^release-(.+)$
+
+; -- fetch & generate files
+[AllFiles]
+[CompileTests]
+fake_home = 1
+skip = Test::Reporter::Transport::
+;[CriticTests]
+[MetaTests]
+;[PodTests]
+
+; -- remove some files
+[PruneCruft]
+
+; -- get prereqs
+[Prereq]
+; MAINTAIN BY HAND - OR WE PICK UP TRANSPORT PREREQS
+perl = 5.006
+Carp = 0
+Cwd = 0
+File::Temp = 0
+FileHandle = 0
+Net::SMTP = 0
+Sys::Hostname = 0
+Time::Local = 0
+base = 0
+constant = 0
+Data::Dumper = 0
+File::Find = 0
+Test::More = 0.88
+
+; -- munge files
+[PkgVersion]
+[NextRelease]
+[PodWeaver]
+[Prepender]
+
+; -- dynamic meta-information
+[InstallDirs]
+[MetaProvides::Package]
+[Repository]
+git_remote = github
+
+; -- generate meta files
+[MetaNoIndex]
+directory = t
+directory = xt
+directory = examples
+[License]
+[MakeMaker]
+[MetaYAML]
+[ReadmeFromPod]
+[Manifest] ; should come last
+
+; -- pre-release
+[CheckExtraTests]
+[Git::Check]
+
+; -- release
+[UploadToCPAN]
+
+; -- post-release
+[Git::Commit]
+[Git::Tag]
+tag_format = release-%v
+[Git::Push]
+push_to = origin
+push_to = github
+
@@ -9,10 +9,10 @@
use strict;
BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
package Test::Reporter::Transport::File;
+our $VERSION = '1.57';
+# ABSTRACT: File transport for Test::Reporter
+
use base 'Test::Reporter::Transport';
-use vars qw/$VERSION/;
-$VERSION = '1.56';
-$VERSION = eval $VERSION;
sub new {
my ($class, $dir) = @_;
@@ -37,11 +37,11 @@ sub send {
=head1 NAME
-Test::Reporter::Transport::File
+Test::Reporter::Transport::File - File transport for Test::Reporter
=head1 VERSION
-version 1.56
+version 1.57
=head1 SYNOPSIS
@@ -60,10 +60,6 @@ uploaded using C<< Test::Reporter->read() >>.
Test::Reporter->new->read( $file )->send();
-=head1 NAME
-
-Test::Reporter::Transport::File - File transport for Test::Reporter
-
=head1 USAGE
See L<Test::Reporter> and L<Test::Reporter::Transport> for general usage
@@ -9,10 +9,10 @@
use strict;
BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
package Test::Reporter::Transport::HTTPGateway;
+our $VERSION = '1.57';
+# ABSTRACT: HTTP transport for Test::Reporter
+
use base 'Test::Reporter::Transport';
-use vars qw/$VERSION/;
-$VERSION = '1.56';
-$VERSION = eval $VERSION;
use LWP::UserAgent;
@@ -33,7 +33,7 @@ sub send {
my $report_version = $report->VERSION;
my $via = "$report_class $report_version";
$via .= ', via ' . $report->via if $report->via;
-
+ my $perl_version = $report->perl_version->{_version};
# post the report
my $ua = LWP::UserAgent->new;
$ua->timeout(60);
@@ -42,6 +42,7 @@ sub send {
my $form = {
key => $self->{key},
via => $via,
+ perl_version => $perl_version,
from => $report->from,
subject => $report->subject,
report => $report->report,
@@ -62,11 +63,11 @@ sub send {
=head1 NAME
-Test::Reporter::Transport::HTTPGateway
+Test::Reporter::Transport::HTTPGateway - HTTP transport for Test::Reporter
=head1 VERSION
-version 1.56
+version 1.57
=head1 SYNOPSIS
@@ -80,10 +81,6 @@ version 1.56
This module transmits a Test::Reporter report via HTTP to a
L<Test::Reporter::HTTPGateway> server (or something with an equivalent API).
-=head1 NAME
-
-Test::Reporter::Transport::HTTPGateway - HTTP transport for Test::Reporter
-
=head1 USAGE
See L<Test::Reporter> and L<Test::Reporter::Transport> for general usage
@@ -9,10 +9,10 @@
use strict;
BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
package Test::Reporter::Transport::Mail::Send;
+our $VERSION = '1.57';
+# ABSTRACT: Mail::Send transport for Test::Reporter
+
use base 'Test::Reporter::Transport';
-use vars qw/$VERSION/;
-$VERSION = '1.56';
-$VERSION = eval $VERSION;
use Mail::Send;
@@ -25,6 +25,7 @@ sub send {
my ($self, $report, $recipients) = @_;
$recipients ||= [];
+ my $perl_version = $report->perl_version->{_version};
my $via = $report->via();
my $msg = Mail::Send->new();
@@ -41,6 +42,7 @@ sub send {
$msg->set('From', $report->from());
$msg->subject($report->subject());
$msg->add('X-Reported-Via', "Test::Reporter $Test::Reporter::VERSION$via");
+ $msg->add('X-Test-Reporter-Perl', $perl_version);
$msg->add('Cc', $cc_str) if $cc_str;
my $fh = $msg->open( @{ $self->{args} } );
@@ -58,11 +60,11 @@ sub send {
=head1 NAME
-Test::Reporter::Transport::Mail::Send
+Test::Reporter::Transport::Mail::Send - Mail::Send transport for Test::Reporter
=head1 VERSION
-version 1.56
+version 1.57
=head1 SYNOPSIS
@@ -75,10 +77,6 @@ version 1.56
This module transmits a Test::Reporter report using Mail::Send.
-=head1 NAME
-
-Test::Reporter::Transport::Mail::Send - Mail::Send transport for Test::Reporter
-
=head1 USAGE
See L<Test::Reporter> and L<Test::Reporter::Transport> for general usage
@@ -9,10 +9,10 @@
use strict;
BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
package Test::Reporter::Transport::Net::SMTP::TLS;
+our $VERSION = '1.57';
+# ABSTRACT: Authenticated SMTP transport for Test::Reporter
+
use base 'Test::Reporter::Transport::Net::SMTP';
-use vars qw/$VERSION/;
-$VERSION = '1.56';
-$VERSION = eval $VERSION;
use Net::SMTP::TLS;
@@ -24,11 +24,11 @@ use Net::SMTP::TLS;
=head1 NAME
-Test::Reporter::Transport::Net::SMTP::TLS
+Test::Reporter::Transport::Net::SMTP::TLS - Authenticated SMTP transport for Test::Reporter
=head1 VERSION
-version 1.56
+version 1.57
=head1 SYNOPSIS
@@ -41,10 +41,6 @@ version 1.56
This module transmits a Test::Reporter report using Net::SMTP::TLS.
-=head1 NAME
-
-Test::Reporter::Transport::Net::SMTP::TLS - Authenticated SMTP transport for Test::Reporter
-
=head1 USAGE
See L<Test::Reporter> and L<Test::Reporter::Transport> for general usage
@@ -9,10 +9,10 @@
use strict;
BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
package Test::Reporter::Transport::Net::SMTP;
+our $VERSION = '1.57';
+# ABSTRACT: SMTP transport for Test::Reporter
+
use base 'Test::Reporter::Transport';
-use vars qw/$VERSION/;
-$VERSION = '1.56';
-$VERSION = eval $VERSION;
sub new {
my ($class, @args) = @_;
@@ -144,6 +144,7 @@ sub send {
my ($self, $report, $recipients) = @_;
$recipients ||= [];
+ my $perl_version = $report->perl_version->{_version};
my $helo = $report->_maildomain(); # XXX: tight -- rjbs, 2008-04-06
my $from = $report->from();
my $via = $report->via();
@@ -226,6 +227,7 @@ sub send {
if ( @$recipients ) { $smtp->datasend("Cc: $cc_str\n") or $die->() };
$smtp->datasend("Message-ID: ", $report->message_id(), "\n") or $die->();
$smtp->datasend("X-Reported-Via: Test::Reporter $Test::Reporter::VERSION$via\n") or $die->();
+ $smtp->datasend("X-Test-Reporter-Perl: $perl_version\n") or $die->();
if ( $needs_qp ) {
$smtp->datasend("MIME-Version: 1.0\n");
$smtp->datasend("Content-Type: text/plain; charset=utf-8\n");
@@ -251,11 +253,11 @@ sub send {
=head1 NAME
-Test::Reporter::Transport::Net::SMTP
+Test::Reporter::Transport::Net::SMTP - SMTP transport for Test::Reporter
=head1 VERSION
-version 1.56
+version 1.57
=head1 SYNOPSIS
@@ -267,10 +269,6 @@ version 1.56
This module transmits a Test::Reporter report using Net::SMTP.
-=head1 NAME
-
-Test::Reporter::Transport::Net::SMTP - SMTP transport for Test::Reporter
-
=head1 USAGE
See L<Test::Reporter> and L<Test::Reporter::Transport> for general usage
@@ -9,9 +9,8 @@
use strict;
BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
package Test::Reporter::Transport;
-use vars qw/$VERSION/;
-$VERSION = '1.56';
-$VERSION = eval $VERSION;
+our $VERSION = '1.57';
+# ABSTRACT: base class for Test::Reporter transports
sub new { die "Not implemented" }
@@ -25,11 +24,11 @@ sub send { die "Not implemented" }
=head1 NAME
-Test::Reporter::Transport
+Test::Reporter::Transport - base class for Test::Reporter transports
=head1 VERSION
-version 1.56
+version 1.57
=head1 SYNOPSIS
@@ -48,10 +47,6 @@ This module is an abstract base class that define an API for
Test::Reporter::Transport subclasses. Individual subclasses MUST
implement the methods described below.
-=head1 NAME
-
-Test::Reporter::Transport - base class for Test::Reporter transports
-
=head1 USAGE
A transport method is specified to Test::Reporter using the C<transport>
@@ -6,10 +6,13 @@
# This is free software; you can redistribute it and/or modify it under
# the same terms as the Perl 5 programming language system itself.
#
-package Test::Reporter;
-use 5.005;
+use 5.006;
use strict;
-BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } }
+use warnings;
+package Test::Reporter;
+our $VERSION = '1.57';
+# ABSTRACT: sends test results to cpan-testers@perl.org
+
use Cwd;
use Config;
use Carp;
@@ -18,13 +21,11 @@ use FileHandle;
use File::Temp;
use Sys::Hostname;
use Time::Local ();
-use vars qw($VERSION $AUTOLOAD $Tempfile $Report $DNS $Domain $Send);
+use vars qw($AUTOLOAD $Tempfile $Report $DNS $Domain $Send);
use constant FAKE_NO_NET_DNS => 0; # for debugging only
use constant FAKE_NO_NET_DOMAIN => 0; # for debugging only
use constant FAKE_NO_MAIL_SEND => 0; # for debugging only
-$VERSION = '1.56';
-
local $^W = 1;
sub new {
@@ -51,7 +52,6 @@ sub new {
'_perl_version' => {
'_archname' => $Config{archname},
'_osvers' => $Config{osvers},
- '_myconfig' => Config::myconfig(),
},
'_transport' => '',
'_transport_args' => [],
@@ -60,6 +60,9 @@ sub new {
bless $self, $class;
+ $self->{_perl_version}{_myconfig} = $self->_get_perl_V;
+ $self->{_perl_version}{_version} = $self->_normalize_perl_version;
+
$self->{_attr} = {
map {$_ => 1} qw(
_address _distribution _distfile _comments _errstr _via _timeout _debug _dir
@@ -191,7 +194,7 @@ sub grade {
}
sub transport {
- my $self = shift;
+ my $self = shift;
warn __PACKAGE__, ": transport\n" if $self->debug();
return $self->{_transport} unless scalar @_;
@@ -281,6 +284,15 @@ sub send {
return 1;
}
+sub _normalize_perl_version {
+ my $self = shift;
+ my $perl_version = sprintf("v%vd",$^V);
+ my $perl_V = $self->perl_version->{_myconfig};
+ my ($rc) = $perl_V =~ /Locally applied patches:\n\s+(RC\d+)/m;
+ $perl_version .= " $rc" if $rc;
+ return $perl_version;
+}
+
sub write {
my $self = shift;
warn __PACKAGE__, ": write\n" if $self->debug();
@@ -292,6 +304,7 @@ sub write {
my $grade = $self->grade();
my $dir = $self->dir() || cwd;
my $distfile = $self->{_distfile} || '';
+ my $perl_version = $self->perl_version->{_version};
return unless $self->_verify();
@@ -320,6 +333,7 @@ sub write {
if ($distfile ne '') {
print $fh "X-Test-Reporter-Distfile: $distfile\n";
}
+ print $fh "X-Test-Reporter-Perl: $perl_version\n";
print $fh "Subject: $subject\n";
print $fh "Report: $report";
unless ($_[0]) {
@@ -367,6 +381,8 @@ sub read {
$self->{_subject_lock} = 1;
} elsif ($header eq "X-Test-Reporter-Distfile") {
$self->{_distfile} = $content;
+ } elsif ($header eq "X-Test-Reporter-Perl") {
+ $self->{_perl_version}{_version} = $content;
} elsif ($header eq "Report") {
last;
}
@@ -377,7 +393,7 @@ sub read {
if ( $self->{_from} && $self->{_subject} ) {
($self->{_report}) = ($buffer =~ /^.+?Report:\s(.+)$/s);
my ($perlv) = $self->{_report} =~ /(^Summary of my perl5.*)\z/ms;
- $self->{_myconfig} = $perlv if $perlv;
+ $self->{_perl_version}{_myconfig} = $perlv if $perlv;
$self->{_report_lock} = 1;
}
@@ -481,6 +497,9 @@ sub transport_args {
return @{ $self->{_transport_args} };
}
+# quote for command-line perl
+sub _get_sh_quote { ( ($^O eq "MSWin32") || ($^O eq 'VMS') ) ? '"' : "'" }
+
sub perl_version {
my $self = shift;
@@ -488,23 +507,40 @@ sub perl_version {
if( @_) {
my $perl = shift;
- my $q = ( ($^O eq "MSWin32") || ($^O eq 'VMS') ) ? '"' : "'"; # quote for command-line perl
+ my $q = $self->_get_sh_quote;
my $magick = int(rand(1000)); # just to check that we get a valid result back
- my $cmd = "$perl -MConfig -e$q print qq{$magick\n\$Config{archname}\n\$Config{osvers}\n},Config::myconfig();$q";
+ my $cmd = "$perl -MConfig -e$q print qq{$magick\n\$Config{archname}\n\$Config{osvers}\n};$q";
if($^O eq 'VMS'){
my $sh = $Config{'sh'};
- $cmd = "$sh $perl $q-MConfig$q -e$q print qq{$magick\\n\$Config{archname}\\n\$Config{osvers}\\n},Config::myconfig();$q";
+ $cmd = "$sh $perl $q-MConfig$q -e$q print qq{$magick\\n\$Config{archname}\\n\$Config{osvers}\\n};$q";
}
my $conf = `$cmd`;
+ chomp $conf;
my %conf;
- ( @conf{ qw( magick _archname _osvers _myconfig) } ) = split( /\n/, $conf, 4);
+ ( @conf{ qw( magick _archname _osvers) } ) = split( /\n/, $conf, 3);
croak __PACKAGE__, ": cannot get perl version info from $perl: $conf" if( $conf{magick} ne $magick);
delete $conf{magick};
+ $conf{_myconfig} = $self->_get_perl_V($perl);
+ chomp $conf;
$self->{_perl_version} = \%conf;
}
return $self->{_perl_version};
}
+sub _get_perl_V {
+ my $self = shift;
+ my $perl ||= $^X;
+ my $q = $self->_get_sh_quote;
+ my $cmdv = "$perl -V";
+ if($^O eq 'VMS'){
+ my $sh = $Config{'sh'};
+ $cmdv = "$sh $perl $q-V$q";
+ }
+ my $perl_V = `$cmdv`;
+ chomp $perl_V;
+ return $perl_V;
+}
+
sub AUTOLOAD {
my $self = $_[0];
my ($package, $method) = ($AUTOLOAD =~ /(.*)::(.*)/);
@@ -743,11 +779,11 @@ sub _is_a_perl_release {
=head1 NAME
-Test::Reporter
+Test::Reporter - sends test results to cpan-testers@perl.org
=head1 VERSION
-version 1.56
+version 1.57
=head1 SYNOPSIS
@@ -786,10 +822,6 @@ Test::Reporter reports the test results of any given distribution to the CPAN
Testers project. Test::Reporter has wide support for various perl5's and
platforms.
-=head1 NAME
-
-Test::Reporter - sends test results to cpan-testers@perl.org
-
=head1 METHODS
=over 4
@@ -14,9 +14,11 @@ use Test::More;
use Test::Reporter;
use Data::Dumper;
-plan tests => 131;
+$Test::Reporter::VERSION ||= 999; # dzil will set it for us on release
-my $distro = sprintf "Test-Reporter-%s", $Test::Reporter::VERSION;
+plan tests => 129;
+
+my $distro = "Foo-Bar-1.23";
my $distfile = "AUTHOR/" . $distro . ".tar.gz";
my $reporter = Test::Reporter->new();
@@ -122,12 +124,13 @@ $reporter = Test::Reporter->new
);
isa_ok($reporter, 'Test::Reporter');
my $file = $reporter->write();
-like($file, '/Test-Reporter/');
+like($file, "/$distro/");
ok(-e $file);
my $orig_subject = $reporter->subject;
my $orig_from = $reporter->from;
my $orig_report = $reporter->report;
+my $orig_perl_version = $reporter->perl_version->{_version};
undef $reporter;
@@ -141,12 +144,13 @@ like($reporter->report,'/Summary of my/');
is($reporter->grade, 'pass');
is($reporter->distribution, $distro);
is($reporter->distfile, $distfile);
-like($reporter->{_myconfig}, '/Summary of my/', "Regenerated _myconfig");
+like($reporter->perl_version->{_myconfig}, '/Summary of my/', "Regenerated _myconfig");
# confirm roundtrip -- particularly newlines
is($reporter->subject, $orig_subject);
is($reporter->from, $orig_from);
is($reporter->report, $orig_report);
+is($reporter->perl_version->{_version}, $orig_perl_version, 'perl version roundtrip');
unlink $file;
@@ -157,23 +161,6 @@ my $same_version = $reporter->perl_version($^X);
for my $field ( qw( _archname _osvers _myconfig) )
{ is( $no_version->{$field}, $same_version->{$field}); }
-# testing perl-version with a fake perl
-# create fake perl
-{
- my $fh = FileHandle->new();
- open( $fh, ">$alt_perl") or die "cannot create (fake) $alt_perl: $!";
- # fake perl, still needs to grab the magick number!
- print {$fh} qq{(\$m= join( '', \@ARGV))=~ s{\\D}{}g; print "\$m\nnew_archname\nnew_osvers\nnew_myconfig\n(several lines)"; };
- close $fh;
-
- my $alt_perl_version = $reporter->perl_version("$^X $alt_perl");
- is( $reporter->perl_version->{_archname}, 'new_archname');
- is( $reporter->perl_version->{_osvers}, 'new_osvers');
- like( $reporter->perl_version->{_myconfig}, '/^new_myconfig\n\(several lines\)/s'); # VMS has trailing CRLF
-
- 1 while (unlink $alt_perl);
-}
-
# testing error
{
my $fh = FileHandle->new();
@@ -11,6 +11,8 @@
use strict;
use Test::More;
+$Test::Reporter::VERSION ||= 999; # dzil will set it for us on release
+
# hack-mock LWP::UserAgent
BEGIN {
$INC{"LWP/UserAgent.pm"} = 1;
@@ -69,6 +71,7 @@ $reporter->from($from);
my $form = {
key => 123456789,
via => my $via = "Test::Reporter ${Test::Reporter::VERSION}",
+ perl_version => $reporter->perl_version->{_version},
from => $from,
subject => $reporter->subject(),
report => $reporter->report(),
@@ -13,6 +13,8 @@ use Test::More;
use File::Temp;
use File::Find;
+$Test::Reporter::VERSION ||= 999; # dzil will set it for us on release
+
#--------------------------------------------------------------------------#
my $from = 'johndoe@example.net';
@@ -11,6 +11,8 @@
use strict;
use Test::More;
+$Test::Reporter::VERSION ||= 999; # dzil will set it for us on release
+
# hack-mock Net::SMTP
BEGIN {
$INC{"Net/SMTP.pm"} = 1;
@@ -23,8 +25,9 @@ BEGIN {
sub quit { return $Response }
sub AUTOLOAD {
my $self = shift;
- if ( @_ ) { $Data{ $AUTOLOAD } = [ @_ ] }
- return @{ $Data{ $AUTOLOAD } || [] };
+ (my $method = $AUTOLOAD) =~ s{^Net::SMTP::}{};
+ if ( @_ ) { push @{ $Data{ $method } }, @_ }
+ return 1;
}
}
@@ -35,7 +38,7 @@ my $from = 'johndoe@example.net';
#--------------------------------------------------------------------------#
-plan tests => 4;
+plan tests => 5;
require_ok( 'Test::Reporter' );
@@ -52,7 +55,6 @@ $reporter->distfile('ASPIERS/Mail-Freshmeat-1.20.tar.gz');
$reporter->from($from);
my $form = {
- key => 123456789,
via => my $via = "Test::Reporter ${Test::Reporter::VERSION}",
from => $from,
subject => $reporter->subject(),
@@ -63,6 +65,10 @@ my $form = {
local $Net::SMTP::Data;
my $rc = $reporter->send;
ok( $rc, "send() is true when successful" ) or diag $reporter->errstr;
+ ok( ( grep { /X-Test-Reporter-Perl: v5\.\d+\.\d+/ } @{$Net::SMTP::Data{datasend}}),
+ "saw X-Test-Reporter-Perl header"
+ );
+
}
{
@@ -11,6 +11,8 @@
use strict;
use Test::More;
+$Test::Reporter::VERSION ||= 999; # dzil will set it for us on release
+
# hack-mock Net::SMTP::TLS
BEGIN {
package Net::SMTP::TLS;
@@ -14,12 +14,14 @@ use Test::More;
use Test::Reporter;
use Data::Dumper;
+$Test::Reporter::VERSION ||= 999; # dzil will set it for us on release
+
plan tests => 14;
my $CR = "\015";
my $LF = "\012";
-my $distro = sprintf "Test-Reporter-%s", $Test::Reporter::VERSION;
+my $distro = "Foo-Bar-1.23";
my $distfile = "AUTHOR/" . $distro . ".tar.gz";
my $reporter = Test::Reporter->new
@@ -31,7 +33,7 @@ my $reporter = Test::Reporter->new
);
isa_ok($reporter, 'Test::Reporter');
my $file = $reporter->write();
-like($file, '/Test-Reporter/');
+like($file, "/$distro/");
ok(-e $file);
my $orig_subject = $reporter->subject;
my $orig_from = $reporter->from;
@@ -64,7 +66,7 @@ like($reporter->report,'/Summary of my/');
is($reporter->grade, 'pass');
is($reporter->distribution, $distro);
is($reporter->distfile, $distfile);
-like($reporter->{_myconfig}, '/Summary of my/', "Regenerated _myconfig");
+like($reporter->perl_version->{_myconfig}, '/Summary of my/', "Regenerated _myconfig");
# confirm roundtrip -- particularly newlines
is($reporter->subject, $orig_subject);
@@ -1,14 +0,0 @@
-use Test::More;
-my $min_tpc = 1.08;
-eval "use Test::Pod::Coverage $min_tpc";
-plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage"
- if $@;
-
-my $min_pc = 0.17;
-eval "use Pod::Coverage $min_pc";
-plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage"
- if $@;
-
-all_pod_coverage_ok();
-__END__
-use Test::Pod::Coverage; # Fake CPANTS
@@ -1,8 +0,0 @@
-use Test::More;
-my $min_tp = 1.22;
-eval "use Test::Pod $min_tp";
-plan skip_all => "Test::Pod $min_tp required for testing POD" if $@;
-
-all_pod_files_ok();
-__END__
-use Test::Pod; # Fake CPANTS
@@ -1,22 +0,0 @@
-#!perl
-#
-# This file is part of Test-Reporter
-#
-# This software is copyright (c) 2010 by Authors and Contributors.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
-
-use Test::More;
-
-eval "use Test::Pod::Coverage 1.08";
-plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage"
- if $@;
-
-eval "use Pod::Coverage::TrustPod";
-plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage"
- if $@;
-
-all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' });
-
@@ -1,15 +0,0 @@
-#!perl
-#
-# This file is part of Test-Reporter
-#
-# This software is copyright (c) 2010 by Authors and Contributors.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
-use Test::More;
-
-eval "use Test::Pod 1.00";
-plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
-
-all_pod_files_ok();